Version cont9

Modifizieren Sie das Testprogramm  cont.cpp der Version cont8 in der Weise, dass Sie statt der selbstentwickelten Template-Klasse Cont<int> die Klasse deque<int> aus der Standard Template Library (STL) einsetzen und speichern Sie das Ergebnis unter dem Namen dequet.cpp.

Fügen Sie dazu am Anfang des Testprogramms die folgenden Zeilen ein:

#include <deque>
using namespace std;

Nach dem neuen C++ Standard werden Header-Dateien ohne Dateierweiterung *.h angegeben. Die Headerdatei deque enthält die Definition der Template-Klasse deque (Kunstwort für "Double Queue"). Beachten Sie, dass STL-Klassennamen im Gegensatz zu der sonst verbreiteten Namenskonvention nicht mit einem Großbuchstaben beginnen.

Der C++ Standard unterstützt den Einsatz mehrerer Namensräume (Namespaces), damit es in sehr großen Projekten nicht zu Namenskollisionen kommt. In diesem kleinen Programm wird das nicht ausgenutzt, trotzdem muss dem Compiler erklärt werden, dass der standardmäßige Namensraum std eingesetzt wird, in dem sämtliche Bibliotheks-Funktionen und -Klassen verfügbar sind (dieser Schritt ist immer dann notwendig, wenn Header-Dateien ohne Erweiterung *.h eingesetzt werden, da diese von Namespaces Gebrauch machen).

Nach Fertigstellung des Programms kopieren Sie die Datei dequet.cpp nach listt.cpp und ersetzen dann konsequent deque durch list. Sie haben auf diese Weise einen anderen Containertyp eingesetzt, ohne dass das restliche Programm verändert werden muss!

Kopieren Sie dann die Datei dequet.cpp nach vectort.cpp und ersetzen dann überall deque durch vector. Der Containertyp vector ist wie ein (in der Größe variables) Array aufgebaut. Da die Operationen push_front() und pop_front() vergleichsweise aufwendig sind (Verschiebung aller Elemente notwendig), werden sie von diesem Container nicht unterstützt. Entfernen Sie die entsprechenden Aufrufe aus dem Programm und überzeugen Sie sich davon, dass die übrigen Funktionen wie bisher ausgeführt werden.

Eine allgemeine Einführung zur STL finden Sie z.B. in Mumit's STL Newbie Guide.